﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using Sinacor.OMM.Configuration.Router;

namespace Sinacor.OMM.Configuration.HFTMessageManager
{
    /// <summary>
    /// Classe com as configurações dos processos HFT
    /// </summary>
    public class HFTMessageManagerConfiguration
    {

        private Int32 _id;
        private String _macAddress = String.Empty;
        private String _lastMessageProcessed;
        private String _controllerFilePath = String.Empty;
        private Repository.RepositoryConfiguration _messageRepository = new Repository.RepositoryConfiguration();
        private List<DistributionRule> _distributionRule;

        /// <summary>
        /// Id
        /// </summary>
        public Int32 Id
        {
            get { return _id; }
            set { _id = value; }
        }

        /// <summary>
        /// Mac address
        /// </summary>
        public String MacAddress
        {
            get { return _macAddress; }
            set { _macAddress = value; }
        }

        /// <summary>
        /// Last message processed
        /// </summary>
        public String LastMessageProcessed
        {
            get { return _lastMessageProcessed; }
            set { _lastMessageProcessed = value; }
        }

        /// <summary>
        /// Controller file path
        /// </summary>
        public String ControllerFilePath
        {
            get { return _controllerFilePath; }
            set { _controllerFilePath = value; }
        }

        /// <summary>
        /// Message repository
        /// </summary>
        public Repository.RepositoryConfiguration MessageRepository
        {
            get { return _messageRepository; }
            set { _messageRepository = value; }
        }

        /// <summary>
        /// 
        /// </summary>
        public List<DistributionRule> DistributionRule
        {
            get { return _distributionRule; }
            set { _distributionRule = value; }
        }

    }
}
